package com.gengzp.ops.service;

import com.gengzp.common.model.database.req.AddSysTableReq;
import com.gengzp.common.model.database.req.EditSysTableReq;
import com.gengzp.common.model.database.req.PageSysTableReq;
import com.gengzp.common.model.database.resp.SearchSysTableResp;
import com.gengzp.common.model.pagination.resp.PaginationResult;

/**
 * @ClassName ISysTableService
 * @Description 系统表设计服务层接口
 * @Author gengzp
 * @Date 2025/7/8 13:40
 */
public interface ISysTableService {

    /**
     * 新增系统表设计信息
     *
     * @param req 新增系统表设计信息请求实体
     */
    void addSysTable(AddSysTableReq req);

    /**
     * 编辑系统表设计信息
     *
     * @param req 编辑系统表设计信息请求实体
     */
    void editSysTable(EditSysTableReq req);

    /**
     * 根据id删除系统表设计信息
     *
     * @param tableId 系统表设计id
     */
    void deleteSysTableById(Long tableId);

    /**
     * 根据id查询系统表设计信息
     *
     * @param tableId 系统表设计id
     * @return 系统表设计信息
     */
    SearchSysTableResp searchSysTableById(Long tableId);

    /**
     * 分页查询系统表设计信息
     *
     * @param req 分页查询系统表设计信息请求实体
     * @return 分页查询表设计返回信息
     */
    PaginationResult<SearchSysTableResp> pageQuerySysTable(PageSysTableReq req);

}
